from flask import Flask, request
from flask import render_template
# 调用自定义模块中的函数
from reserch import reserch4letters

# Flask:中央登记中心
app = Flask(__name__)

# 【Flask】(https://dormousehole.readthedocs.io/en/latest/quickstart.html#id10)
# 【HTMl】(https://www.w3school.com.cn/html/index.asp)
# 【jinja2】(https://palletsprojects.com/p/jinja/)

# 1. 路由：相对路径，决定了 页面资源 的路径，如果没有登记，将返回404 not found
# 1.1 url: 相对于：http://127.0.0.1：5000的相对路径
# 1.2 methods:【GET】【POST】
# 2. 视图函数：
# 2.1 函数过程决定了你操作的方法（实现的功能），例如 if elif else for while ...
# 2.2 return：返回数据内容，text文本，HTML文件（模板渲染），JSON文件等

# 【GET】


@app.route('/', methods=['GET'])
def hello_world():
    return render_template('hello.html')



@app.route('/PersonalWebsite', methods=['GET','POST'])
def PersonalWebsite():
    return render_template('PersonalWebsite.html')

@app.route('/classtable', methods=['GET','POST'])
def classtable():
    return render_template('classtable.html')

@app.route('/name_index', methods=['GET'])
def name_index():
    return render_template('name_index.html')

@app.route('/name_result', methods=['POST'])
def name_result():
    # 接收数据：request.form[HTML-参数名称]
    # 1. 名字的全称（完整的应用）：用户输入数据--->后端接收数据--->后端处理数据--->返回到HTML页面
    # 2. 元音字母查询（第二个功能）
    # 3. 自选：购物车 或者 课程表
    py_firstname = request.form['firstname']
    py_lastname = request.form['lastname']
    py_fullname = py_lastname.title()+' '+py_firstname.title()
    # 在 中央登记中心，写这么多 python过程的代码 是不是有点不好玩？
    # 使用模块来写函数过程，在视图函数中调用模块实现函数方法

    return render_template('name_result.html',
                           fullname=py_fullname,
                           )


@app.route('/word_index', methods=['GET'])
def word_index():
    return render_template('word_index.html')


@app.route('/word_result', methods=['POST'])
def word_result():
    py_word = request.form['word']
    py_vowels = request.form['vowels']
    py_found = reserch4letters(py_vowels, py_word)

    return render_template('word_result.html',
                           found=py_found)




# 【GET】



# 【POST】实现用户输入，点击提交，将数据提交到 /result





if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5000, debug=True)
